Do you feed the dog human food? If so, then stop doing that; otherwise try something like a dental bone. You can also brush his teeth with a specially-flavored dog toothpaste.
Like humans, bad breath in dogs is normally caused by poor oral health, diet and digestive problems. If your dog follows a strict puppy diet and you brush his teeth regularly, then all I could think of is that he may suffer digestive problems. You many need to consult a vet for that. If you haven't brushed his teeth regularly, perhaps you could start doing that, to see if it actually improves his oral health. Puppies are like kids, require a lot of attention and care, just be patient.