Hi, don't worry, I have been having this same issue on my (retired) Nexus S and Galaxy Nexus ever since both were updated to JB. I could never really figure out what is going on, other than the suspicion that my wireless router (a Netgear DGND3700) N600 could be the culprit in tandem with changes in JB 4.1.x. I n the end I gave up trying different custom ROMs and kernels and figured out that if I disable Wifi during the night and get it fired up again in the morning everything works fine. The advantage is battery saving during sleep at night and saving precious data allowance during the day by having Wifi running at home.
The annoying part of the problem is that when Wifi is left on during an extend sllep period, and this seems to be during night time, then you need to either disable Wifi and re-enable it or turn on/off 'airplane mode' to get the data connection going again. As I said, when the connection to Wifi goes off in sleep mode it also looses data connection.
What I did to resolve this was to look for a work-around in the form of Tasker (available from Play Store). I ran a task/script the tells Tasker to turn Wifi off from 00:10 hours to 06:00 hours every day. When I wake up all email etc is there and Wifi connected for the rest of the day.