Might suggest you smoke the EVAP system.
I would suspect if you were to check your readiness monitors you may well fine one or more incomplete.
Had a very similar issue where I would get a EVAP code and was running rich (LTFT).
Turned out that the purge valve mounting flange had split due to rust jacking where it mounted on to the carbon canister.
Being the mounting screw was completely rusted I ended up replacing both the purge valve and canister.