I don't know if this as already been discussed somewhere in the forum, but I will tell you theory about the legendary pokemon anyway.
In my opinion the legendary pokemon can be captured by any trainer they recognize as being pure-hearted or brave enough. If a legendary challenges a Human and if the human captures it it will stay with him, but not forever.
Since most legendaries are important for the balance of nature, etc. i guess that they only stay with the trainer during a few aumont of time, even if they get captured with the master ball they will escape with their mythical powers, looking for more pure-hearted humans or guarding the planet.
This makes more sence with the legendary beasts (Raikou, Entei, Suicune) since thay are always roaming the land and can't stand to be in the same place for a big aumont of time. Besides, if they are observing the human behaviour (according to the Ho-Oh legend) they should go throw the planet looking for more pure-hearted humans, rather than staying with their human partner until the end like regular pokemon.
Please discuss... :)