Everybody seems to replace the gas cap when they get an Evap leak code, but I've yet to run into anyone that has actually fixed the problem by replacing the gas cap. Most of the time, it's a sticking Evap canister vent control valve that is stuck open that caused the problem, but there are a lot of things that can cause it, like a bad pressure sensor, leaking canister, split/leaking/disconnected hose in the evap system, the, as mentioned, rotted gas tank...to name just a few. I always start by doing a quick look of the hoses of the system and making sure the gas cap is installed properly. Then, I'll component test the vent control valve and also check for bits of charcoal falling out of the canister (which indicate a failed canister liner and likely an entire system contaminated with bits of charcoal); probably 95% of the time I'll find a sticking vent control valve. If that's not the issue, then it's easiest to find the leak using a smoke machine. You can do it with a scan tool and vacuum/pressure pump and Evap port adapter, but it can be more tedious and time consuming.