Does an earthquakes epicenter have to be on a fault?

No, an earthquake epicenter does not have to be on a fault. An earthquake epicenter is the point on the Earth's surface directly above the hypocenter, which is the point in the Earth's crust where the earthquake rupture begins. Earthquakes can occur anywhere in the Earth's crust, including areas that are not associated with faults.