27968 seems large enough... (or do you really have that many processes?)
On some older linux systems, this is set to 999, which is somewhat closer to potentially becoming a problem. (BTW, this value does not necessarily correspond to what is reported by ulimit — which is why I asked.)
The other cause for a fork to fail is insufficient memory (presuming the "waiting for a non-existent child"-theory I mentioned above). So, is the memory usage actually close to the limit when the problem occurs?
I'll take a closer look at the other conf settings to see if anything jumps out at me (not that I would know what every single one of them means... :)