The ones that are small at birth are sometimes that way because they may have been conceived later than their littermates, if the bitch had repeated matings several days apart. Or it may be they weren't as well nourished in the womb due to the way the placenta was attached. Those are the ones that can grow to be the same size as their littermates, if the breeder allows them a chance to nurse as much as they want, and not get pushed away from the nipple by the larger pups.
Genetics are the main factor - a genetic dwarf is, of course, always going to be small, or a pup may take after a parent who is smaller than usual for the breed.
Unless a pup is very severely malnourished, nothing you feed it (supplements, special food, etc.) is going to make a bit of difference in its final size, which is determined solely by genetics.