A common introductory way to solve a BVP like this is the Shooting Method. As you may know, solving the problem:
$y''(t) = f(t,y,y')$ with $y(x_0) = y_0$ and $y'(x_0) = y'_0$
is fairly straight forward using a technique such as Euler's method or any variety of RK methods. What time-stepping algorithm you choose depends on your problem's stiffness and stability.
You don't have exactly this problem however. The shooting method involves solving the above equation over and over with varying $y_0$ until your $y_\infty$ approaches $y_a$. This can be done by wrapping a root-finding method around your time-stepping algorithm.
Your problem also has the added complication of the right BC being defined in the far field, rather than some point. You obviously can't advance your solution out to infinity, so you must choose some arbitrary right boundary $x_{large}$ and solve it twice with the BC's:
$y(x_{large}) = y_a$ and $y(2 x_{large}) = y_a$
If your two solutions agree, then you know $x_{large}$ was choosen big enough that it was like having the boundary at $\infty$. If not, you must resolve it with an even higher boundary.