It could be due to infection if that is causing him to cough
The only other thing I can think of is do you include green vegetables in his diet? If so they could be the cause of the smell.
If he is having foods you do not prepare yourself check all the labels.
Make sure he has plenty of fluids.
Babies bad breath
can also be a result of mouth breathing
versus nose breathing. Mouth breathing usually occurs as soon as the baby sleeps.
Bacteria that react to saliva also can cause bad breath, especially if left undisturbed in the mouth for a period of time. This is one reason we all have "morning breath".
That said, normal bacteria living in the mouth and interacting with leftover food particles could cause true breath odour in a healthy child. The food particles could be between the teeth, at the gum line, on the tongue, or on the surface of the tonsils at the back of your child's throat. If your son sucks his thumb, uses a pacifier, or sucks or chews on a blanket, this may be why he has bad breath. The object may have an odour from repeated exposure to saliva and oral bacteria.