Er is geen betekenisverschil, het gaat om een verschil in combinatiemogelijkheden.

 

tevergeefs

zonder resultaat
Hij belde tevergeefs.

 

vergeefs

zonder resultaat (vlak voor een zelfstandig naamwoord)
Dit is vergeefse moeite.

 

Vlak voor een zelfstandig naamwoord is alleen vergeefs goed: een tevergeefs taxiritje is dus fout, maar een tevergeefs wachtende passagier is wel goed. In alle andere gevallen kunnen beide woorden: het was (te)vergeefs, hij hoopte het (te)vergeefs.

 

De merkwaardige uitzondering 'vlak voor een zelfstandig naamwoord' is nog een oude rest van het duidelijker onderscheid: tevergeefs als bijwoord en vergeefs als bijvoeglijk naamwoord. Maar omdat in constructies als dit is vergeefs vaker tevergeefs werd gebruikt, is de regel ingeperkt tot een bijvoeglijk naamwoord vlak voor een zelfstandig naamwoord.

 

Kijk voor nog enkele bekende struikelblokken bij buitenlands / buitenslands.