I too have been having this issue for some time. For me it's after I upgraded to Yosemite. I also have an old MacBook running Lion that syncs with my kid's old iPhone4 over WiFi. I noticed that the MacBook has no problems syncing with the iPhone4. Meanwhile, my iMac running Yosemite was having other problems. Namely, its computer name keeps getting changed by having (#) appended to the end after every sleep/wake cycle. See this thread for an explanation of the symptom: computer name changed automatically
After doing some research on here and some experimentation on my own, I came up with this possible fix.
We have 3 iDevices that sync to the iMac (Yosemite). Two of them are connected to it by USB at night. The other (iPad Air) is strictly WiFi. As of the Yosemite upgrade, the iPad Air has had issues connecting to the iMac via WiFi. So today I checked on the iPad and sure enough in WiFi Sync prefs it was looking for "MyMac (3)" instead of "MyMac". I made sure the computer name on the iMac is fixed (MyMac), then connected the iPad Air to it to initiate a sync. In WiFi prefs, it now correctly points to "MyMac". I disconnected the iPad and quit out of iTunes. I relaunch iTunes and it promptly shows all 3 iDevices. I can also initiate a remote WiFi sync from within iTunes.
I'm not sure if the computer name change issue originated in Mavericks because I didn't use it for long. But for Yosemite, this seems to have fixed it for me and it beats restoring all my iDevices. Let me know if this works for you.