If you're using an official cable, sounds like a driver issue. Try other cables and USB ports. Have you tried unchecking mtp? (just to see what happens). You don't say which os you are using. If Windows, this (http://m.download.cnet.com/USBDeview/3000-2094_4-10614190.html) program is an easy way to identify and uninstall USB drivers. You can also look at USB ports in hardware to see any errors.
Any time I want to transfer something from my PC to the N7 I have to uncheck MTP and then recheck it. As soon as I recheck it the PC sees it. This is with the original N7 cable.
About 3/4 of the way down, there's a post that helped me - these are the steps that helped:
Go into Devices and Printers on your windows PC >>> Right click your Nexus 7 >>> Properties >>> Hardware >>> Properties >>> Change settings >>> Driver >>> Uninstall. >>>>> Done >>>> Then unplug Nexus 7 and replug and Windows should load the correct driver and Nexus 7 should be recognized.