Serial device file no longer shows up in /dev/ after working fine for months
The fact that dmesg gives you nothing at all is the most telling fact.  The there was a communication problem, or the firmware had messed up on the USB interface chip, then you'd expect something to show up - even if it was something along the lines of "device not accepting address 8: -71"

We can ignore the main ATMega2560 chip since that has no bearing on the USB interface.  Instead we're interested in the ATMega16U2 (or whatever is on your board version).

So some things you need to confirm by probing around on the board with a multimeter, or better still, an oscilloscope:


Check that there is power to the board through the USB.
Check that there is power both sides of the green (or brown-ish if you have a clone) poly-fuse near the USB socket
If you have an oscilloscope, switch the probe to 10x and look for oscillations on the crystal's pins.
Grab the datasheet for your ATMegaxxU2 chip and get the pinout.  Check that there is power on the pins there should be power on.
Check that the RESET pin of the ATMegaxxU2 chip is HIGH.


If you have a hardware programmer, or another Arduino you can use as a hardware programmer, connect it to the 2x3 header (you may need to populate it first) and try get it to identify the chip ID.  Try to re-flash the USB interface firmware.

Another thing to check is the USB socket itself.  Those big chunky USB sockets look strong, but they're actually quite flimsy inside.  The metal leaves that the plug presses against can bend with time and not make a good contact.  Using a fine needle try lifting them up slightly so they make better contact with the cable.  I think Arduino are the only people that still use them in an active product these days ;)