Well, when a process crashes it is removed from the process table, and that is why you can't find it by using "ps".
If you enable core dump generation, (ulimit -c <number>) you'll find that when a process crashes, a file containing information about the crashed process is put in its running folder. This file is named core.<pid> and retains some usefule information. Problem: this is not exactly what you need as there's not a functionality to find all recent crashed pids. Anyway, if you're analysing your own application, this can be of some help