If I am in a foreign country where I don't speak the language and need to find help, I too would say "Do you speak English?" to someone. However, I wouldn't be asking about their proficiency particularly. I just want to know that they speak, at the very least, enough English to understand my question and help me.
I don't think you can say that your teacher lied to you. He may well use one or the other depending on the nuance of his meaning. I'm just saying that I don't think they have to mean different things.
Also bear in mind, that some people will say "Can you speak English please?" to mean "Please speak English" (in the same way we say "Can you open the window please?") - it's not to do with ability, it's a request but we word it with "Can ..."
When I came back from living in Spain, lots of people were interested in whether or not I had learnt to speak Spanish while I was there. I was asked:
- So do you speak Spanish [now]?
- Can you speak Spanish?
- How's your Spanish?
- I bet your Spanish is fantastic now, isn't it?!
To my mind, the first two mean exactly the same thing. The third is a question about my proficiency and the fourth is an assumption, followed by a query.