To sample a sinusoidal signal at the Nyquist rate, we have to take two samples per cycle. Is there any condition on the position of the two samples? is it necessary to take them at the peaks?
Noha, when the classical sampling theorem (Nyquist-Shannon) for baseband signals is applied to an ideal sinusoidal of infinite extend of frequency $f_m$ Hertz $$x(t) = \cos(2 \pi f_m t)$$ it's found that the signal must be sampled at a sampling frequency greater than $2 f_m$; i.e. $$f_s > 2 f_m$$
Note that even though the selection of $f_s = 2 f_m$ would sufficiently work for most of the typical engineering signals, it will not work for an ideal sinusoidal signal. The reason is that the ideal sinusoidal has an exact impulse at the $f_s / 2$ frequency whereas most typical signals will not.
The practical solution is to use a sampling frequency slightly greater than the theoretical value given by the sampling theorem unless you are sure that there wont be any components at $f_s/2$.
To sample a sinusoidal signal at the Nyquist rate, we have to take two samples per cycle.
This is false. For baseband sampling, one has to sample above twice the highest frequency.
Note that time limited signals do not have zero bandwidth, so one has to sample above the frequency plus its upper bandwidth (any portion above your chosen noise floor) of any non-infinite length sinusoid, or you will not even be sampling at twice its highest frequency. The shorter the sinusoid and/or sampling window, the higher the required sampling rate to meet the Nyquist criterion (for a given noise floor requirement or specification).
"two samples per cycle" is the limiting case as your sinusoid and sampling length approaches infinity (e.g. beyond the lifetime of the known universe), and the noise floor goes to zero (lower than Planck dimension).