Black spots on the skin can indicate a thyroid problem which may be the reason for his allergies.
I'd suggest seeing a veterinary dermatologist with him and this site may help you locate one to work with - click on the find dermatologist tab
http://www.acvd.org/
It may be the food is a problem. Dogs are designed as carnivores though they are opportunistic feeders and can eat other foods. It may be he is missing critical nutritional ingredients due to the food he is on.
But you might start with the vet checking for a thyroid problem with a blood test.
Another possibility is Cushings disease an adrenal gland issue you can read about here
http://www.marvistavet.com/html/body_cushing_s_disease.html
Hope this helps you!
Dog Expert:Rescue, Train,Breed,Care
30+ yrs dog home vet care & nursing, rescue, behavior&training, responsible show breeding, genetics