I agree on a technical basis, however like most things, language evolves over time and colloquialisms develop.
"By accident" is the correct term on a pedantic level, but "on accident" (probably developed in opposition to "on purpose") is also often used in spoken dialogue.
Ultimately it...