I somehow "proved" that given any LTI system, its transfer function has to be constant. What am I missing? A transfer function is defined as the Laplace transform of the ratio of output to input. 

Also, every LTI system has an eigenfunction. Given such eigenfunction as an input, the ratio of the output to input is a constant, which means the transfer function is constant.
When the input to an LTI system is an eigenfunction, then:

$$ x(t) = e^{j\omega_0 t} =&gt; y(t) = H(\omega_0) e^{j\omega_0 t}$$

where $H(\omega_0)$ is the associated eigenvalue of the LTI system; the transfer function evaluated at the particular frequency:

$$ H(\omega_0) = H(s)|_{s = j\omega_0}. $$

Here not the transfer function $H(s)$, but just one value of it is found by just one eigenfunction.

But if you use the general expression for the eigenfunction, then the input is $x(t) = e^{j\omega t}$ and the output will be $$y(t) = H(j\omega) e^{j \omega t}. $$ Here you assume that $H(j\omega) = a$ ; a constant,  and therefore in the fraction expression you will find out that $H(s) = \frac{Y(s)}{X(s)} = a = H(j\omega)$. Here, the constant $a$ is actually the unknown variable $H(j\omega)$...

Note that the eigenvalue $H(\omega)$ will be a complex-constant for a given particular frequency $\omega_0$. But as the given frequency changes, the constant (in general) will change too. It's just like an ordinary function $f(x)$ treated as a single value for a particular $x = x_0$ but a rather a varying mapping for general $x$ values...