I'm not talking about defining an inner product: your vector space should already come equipped with one. (Otherwise, it wouldn't make sense to ask about a unitary transformation, as you suspected!) The origin of your problem is that these are linear operators on a
Hilbert space is it not? By definition, a Hilbert space comes equipped with an inner product.
I have made a mistake, though: I forgot that you can only get the orthonormal eigenbasis if the transformation is symmetric. (Again, in the finite dimensional case)
All right, so I've unconvinced myself.

When rewriting everything in terms of an eigenbasis (which again I'm assuming exists), we need two things:
(1) The action of the operator on each basis vector
(2) The inner product of any pair of basis vectors.
So now it's obvious how one would go about constructing a counterexample to my claim.
However, I still conjecture that if a and b have the same spectrum, that there exists an invertible linear operator T such that aT = Tb, and T can be simply given in terms of a change of basis. (This is easy in the finite dimensional case) And that if a and b have orthonormal eigenbases, then T can be chosen to be unitary.