Could be one of several different things. Keep in mind that to run this code you must be at a steady cruising throttle. I mean no tip in and tip out of the throttle for several seconds usually at highway speeds. The code is run once every 24hours if it ran and passed the time before. So your cap could have been loose, but you never met the criteria to run it until now. Here is how the code works. At a certain steady throttle and speed, the vent valve is closed and the vacuum control valve is opened. Once the fuel pressure sensor reaches a certain value the control valve is turned off and the pressure is monitored for a leak. Depending on how fast the pressure falls either a small leak or large leak code is set. The next step is to open the vent valve and see if the pressure drops off in a calibrated time. If not a code for the vent valve stuck is set. I don't have a copy of the codes handy, but I think a 440 is a large leak. Don't hold it to me though. Did yo clear the code and drive it for some time? Could just be the cap if you are lucky. Other large leaks, lines, vent valve not seating, canister, vacuum control valve not working.