I've had a similar problem for a few months now. Never found out what it is - hardware has been swapped out but still there. It's definitely a code problem for me. The problem is that it's so intermittent

and it's difficult to pin point the exact script or part of script which causes it.
When the segfault happens the server will run fine except for javascript pop up windows. Anything which requires a pop up will just produce a page saying server does not exist type of thing. This will stay like this until Apache is restarted.
Anyway, to get around this I run a cron job to detect if a seg fault has recently happened. If it has then apache is restarted and the problem goes away for a few days.
The beauty with this is that it's fully automatic. Whilst it does not fix the fault it does help 'out of hours'. Here's the script if you are interested:
--------------------------------
#### check_seg_fault
# Check Logfile for segmentation fault. If detected
# stop apache, remove entries from log, restart apache
#
cp /var/log/apache2/error_log /tmp/temp_log
grep -i segmentation /tmp/temp_log >/tmp/segmentation
if test -s /tmp/segmentation
then
/etc/init.d/apache2 stop
grep -v -i segmentation /tmp/temp_log >/var/log/apache2/error_log
/etc/init.d/apache2 start
cat /tmp/segmentation | mutt -s "Segmentation Fault Detected"
admin@mysite.com
fi
rm /tmp/segmentation
rm /tmp/temp_log
----------------------------
What this does is to first copy the apache error log to a temp file. The temp file is then grepped to find any seg fault errors. If any were found then apache is stopped, the temp file cleaned of seg faults and copied back to the original error_log. Apache is restarted and a warning email sent to admin.
Bung this in a cronjob to run every few minutes and you don't have to worry about the server running in a reduced state.
As I say though, this is not a solution to the problem. It is just an automated work around whilst the original problem is analysed.
BTW, are you using any graphs or chart packages in your scripts?