You are saying the currently the job in production runs in 8M and now, to run to completion with that data, it needed 400M? An extra 392 megabytes? A 5000% increase in memory usage?
Something is not right and, as Dick says, you'll have to find it (or get help finding it).
Has the program/jcl been changed recently? Did you check back through the logs like I suggested? Did you get a PSW from the S0C1 abend?
How to get a S0C1 from a lack of virtual storage? What language are the modules in your load? Are any doing any "memory aquisition", GETMAIN, or heap storage? Especially anything which is trying to load code to execute (outside of normal call methods)?
If you can't get anywhere with the dump yourself, you should consult with your boss with the idea of handing it over to someone more senior or to the Systems' Programmers. Hopefully this is a new problem, not one which has been festering for a while. It, like any abend, needs to be solved as soon as possible, because it can happen again at any time, and it can be damaging data that you don't yet know about - the less that you allow it to damage, the less the pain of the data fix.