margypops is right to ask whether the baby is being overheated somehow but just a reminder-babies of this age should be laid on their back to sleep-not their sides-in order to reduce the risk of cot death in infants.
Could be overheated how many covers are used, what is your climate like, does Baby spit up that would account for the sour smell, always lay the Baby on the side and you can use a wedge so they stay there,also cotton is good, is it light and airy, tight will make them sweat.
My sons did the same thing. No smell but I just referred to them as my hot heads. You can ask his doctor on the next visit. I remember they go every couple of months or so at that age. Good luck!