"Ты можешь говорить по-русски?" is most natural as a less polite, or rude depending on intonation, version of "Не мог бы ты говорить по-русски?" -- "Could you please speak Russian?"
I wonder if "Can you speak Russian?" isn't the same thing. After all, the usual question (Ты говоришь по-русски?) is "Do you speak Russian?"
Another context for "Ты можешь говорить по-русски?": you are calling your friend who is a Russian spy and so it may not be appropriate for him or her to speak Russian.
I am almost sure this is the same as "Can you speak Russian?"