can all vectors have projection on an arbitrary line? What if the vector and the line do not intersect and are not parallel (i.e. they cannot lie on the same plane).
Yes, if you allow the zero vector as a projection. for example, a vector pointing along the x-axis has the 0 vector as its projection on the y-axis.
For an example where "the vectors do not intersect and are not parallel" but lie along skew lines, consider a vector pointing along the x-axis and the line given by the parametric equations x= t, y= t, z= 1. The projection is again the 0 vector.