2002 Mitsubishi lancer has check engine light on when scanned shows code P0456. on 2002 Mitsubishi Lancer

The car runs well. A smog testing showed no leaks. The solenoids are working fine. What can it be??????

Check fuel cap to see if it is fitting properly. If not, replace. Otherwise, a small leak is being detected somewhere in fuel evap. emission system such as a rusted fuel filler neck or a cracked hose. May need a shop to diagnose or perform a 'smoke test' on the system.
I replaced the fuel cap a few months ago. A smoke test was performed last week and no leaks were found. I replaced 2 days ago the fuel filler neck because it was rotted. The check engine light went off, but after driving 60 miles it lit up again. I had the solenoids checked again and they are fine. They did notice that the gas tank is a little rusted, but no holes or leaks were detected. What else can it be???? I know you mentioned a cracked hose. Are you referring to an Evap.hose???? Please help.....
The most difficult leak location to detect, even with a smoke test, is right at the top of the fuel tank. When the smoke comes out of the top of the tank (around the fuel pump area) even the mechanic can miss this tricky location. This may be where your leak is.

Did you ever get this figured out? I have the same car (year as well) and exact sea,me issue. I previously had the P0401 codes and had to replace the EGR valve and solenoid, but as soon as that cleared I got the P0456 code. Very frustrating and I have emission testing this month. Thanks
We changed the fuel cap and then the fuel filler neck. After 60 miles of use the check engine light came back on. It continued to show code P0456. Since the smoke test showed no leak and the solenoids were working well. Someone mentioned that I should have the mechanic check the area above the fuel tank. He found the parts in this area to be rotted. So we also had to repair that. We spent a lot of money fixing this problem. And, all for an inspection sticker.