Yes, assuming that the number is not zero, there a k complex kth roots of a number. (I think this result is due to Descartes.)
If you restrict yourself to the postive reals, then there are two roots if k is even, and one if k is odd.
For the negative reals, there is one root on even powers, and no roots on odd powers.
Here's an explanation.
You're probably familiar with complex numbers written as
x+iy
with x and y real but you should be able to see that they can also be written as
r * (cos \theta + i sin \theta)
where
r=\sqrt{x^2+y^2}
and
\theta=tan^{-1}\frac{x}{y}.
if you apply Euler's forumula, you get that
r * (cos \theta + i sin \theta)
is equivalent to
r * e^{i\theta}
Now, let's say we have two complex numbers:
z_1=r_1 * e^{i\theta_1}
and
z_2=r_2 * e^{i\theta_2}
then
z_1*z_2=r_1*r_2 * e^{i(\theta_1+\theta_2)}
and
z^n=r^n*e^{in\theta}
Now, let's look at your question, given k, and a, how many distinct z are there such that
z^k={r_z}^k*e^{ik\theta_z}=a=r_a*e^{\theta_a}
I'm not going to get into the proof that there is only one solution for r_z, or that it exists, here.
Now, since e^{i\theta}=e^{i(\theta+2n\pi)}
there are k solutions for \theta_z that correspond to the solutions to
\theta_z*k=\theta_a+2\pi*n
where n ranges over the integers from zero to k-1.