The historical name from the past is Одесса. The correct spelling in the modern Ukrainian is Одеса.
In English we don't spell city names the way they used to be spelled in the original language either (e.g. "Rome" vs "Roma"). A name of a city in a certain language ≠ the original name.
Also: assuming "Одеса" is a foreign word (coming from Greek), it obeys the same rules other foreign words follow. Which is, we do not keep the double consonants e.g. маса (and not масса), каса (and not касса or like in German, Kasse), піца (and not піцца as in pizza).