Your question does not specify what $a$ is. The simpler case is if $a$ is a constant-symbol. Your posted answer is more or less correct for that case, but there are some issues. Firstly, it is not correct to write "$a≠a$" when referring to the element that $a$ is interpreted as in a structure $M$. Either write "$M ⊨ a≠a$" or "$a^M ≠ a^M$". Secondly, it is not a very good idea to prove that it is a tautology by proving that its negation is contradictory in every structure, because this relies on classical FOL semantics, which is unnecessary here. It is always better to rely on only the relevant aspects.
Here is a fully rigorous proof: Take any FOL structure $M$ over a language that has constant-symbol $a$. Then $M ⊨ a=a$, so $M[x:=a^M] ⊨ x=a$ and hence $M ⊨ ∃x ( x=a )$. Therefore, $∃x ( x=a )$ is an FOL tautology.
The other case is when $a$ is a variable. In this case, since $a$ is free in $∃x ( x=a )$, it is semantically interpreted as being universally quantified over the domain. That is, it is equivalent to $∀a ∃x ( x=a )$. That is how one should understand it, and indeed a deductive system for FOL that permits free variables in its theorems would allow you to prove the equivalence. But the completely semantic proof does not need to use that fact: Take any FOL structure $M$. For every element $c$ in $M$, we have $M[a:=c] ⊨ a=a$, so $M[a:=c][x:=c] ⊨ x=a$ and hence $M[a:=c] ⊨ ∃x ( x=a )$. Therefore, $∃x ( x=a )$ is an FOL tautology.