The way I was taught is that both are correct when marking the direct object of a potential form, actually all three of them: を、が、は. Anyway, using one instead of the others is not a toss a coin to pick which one you want. They all have a certain difference in meaning. Let's see if I can get them right

日本語を話せる puts the stress on the fact that I am able to speak a language, in this case Japanese.
日本語が話せる puts the stress on the Japanese language.
日本語は話せる stresses the fact that I can speak Japanese and only that.
The way I see it is を shows you can speak a language, が that you can speak that certain language and は that you can speak only that language.
WAIT FOR CONFIRMATION! Unfortunately the が/は are kinda easy to be mixed up in my head. On one side mi brain says yes it is correct, on the other side it keeps saying "no it is the opposite coz は has also the meaning of at least". Wait for someone with better knowledge to offer you the truth
