After updating my Nexus 7 to the latest version of Android (4.4.4 at this point), Windows decided that it would no longer show the device in Explorer in MTP mode. PTP worked fine, but obviously this is no good for putting files into the device. How do I solve this?
So there are many different threads and posts all over the internet trying to solve this issue for various Android devices. It seems that sometimes these work, but not always. I think I've finally found a step that works most of the time (it excludes hardware issues for example). Start off with your device connected.
Essentially, there is an issue with the driver on Windows. To fix this open the device manager (see here for how to do this on Windows 7 or Vista, here for XP and here for Windows 8). Now, at this point most posts and threads advocate finding anything mentioning your device (in my case the nexus 7) and uninstalling the driver. This seems to be the right thing to do, but first there is a very important step. At the top, click "View" and then select "Show hidden devices". Now, you can find all mentions of your device. Right click, and select "Uninstall driver". If there is a tick box for deleting the driver as well you should select this.
After completion, disconnect your device. The device manager will flash. Give it a few seconds and then plug your device back in. Windows will now reinstall the driver. At this point, it should work correctly.
Note that if you use ADB, you will have uninstalled this in a previous step and will have to reinstall it using your preferred method.