The same effect that causes comets to break up as they pass Jupiter could lift the crust from a planet to form a moon, without a direct impact between the two bodies.
Of course, if the bodies pass too close, the less massive one becomes an asteroid belt.
Sounds so serene and decorous. Lift the crust. That's the model they taught, and it seems to be popular again. Some large body came by earth way back when and pulled the material out into space where it recollected forming the moon. It would probably work for Mars, too, even though Mars seems to have totally lost most of its material from one side of the planet anyway, not even a good-sized moon left. If Mars had a moon formed that way, it seems to be long gone, who knows where; it ought to be in a similar orbit as Mars, but there is nothing there. Perhaps Mars was farther out when that happened and has migrated inward toward the sun leaving the debris in the asteroid belt. Perhaps we'll track it down when we have done enough geological prospecting in the asteroid belt and have some good data.