Well, the way odds are described in English,
- Three to one means one in four (a 25% chance)
- Two to one means one in three (a 33.3% chance)
- Evens (in other words, one to one, although the latter is not something I have ever seen used) means one in two (a 50% chance)
So strictly speaking, a million to one would mean one in a million-plus-one, which is a fractionally smaller probability than one in a million. However, I strongly suspect that the popular usage of these terms is not specifying absolute odds but simply describing something very unlikely. In that case, the two are effectively equivalent.
However, when used in this casual, hyperbolic manner (as you say, just to mean "a very small possiblity"), to one has a distinct extra meaning compared to in one; it emphasises the adversity faced by the person (or thing) facing these odds. "A million to one" implies that victory would require a struggle against overwhelming difficulties, because the wording places the odds of failure in opposition to the chances of success. "One in a million" can simply mean a lucky accident. So if you are describing an overweight, unfit person's chances of winning the London marathon, then it is better to say the odds against it are "a million to one". But if your story is of somebody who picked up a stone in a riverbed and found a lump of gold underneath it, that could be called a "one in a million" lucky break. Both could be used in either scenario, but I think the two alternatives have different advantages.