It is very possible that he has a skin condition. Skin conditions can cause scratching because your dog is itchy. Constant scratching can cause mild infections that clear themselves; but, could be part of the cause of his "smell'.
At the very least, your dog requires baths with shampoos and conditioners that are specially formulated for dry, itchy skin.
However, a trip to the vet is in order to rule out there being a parasite or something that is causing the problem. The vet would also know the best way to treat your dog's skin.