An ELM327 isn't a scantool, it's just a chip that provides an AT command interface to OBDII. It should be able to pull any stored codes from the powertrain controller itself, but that doesn't mean that whatever hardware/software solution the chip is integrated into is going to understand those codes and display them properly. Though I'd be surprised if it wouldn't at least display the bare trouble code without any description.
I'm not sure how much CAN the ELM327 speaks, and that could be a problem. The docs mention sending CAN commands, but I don't know much about the OBDII/CAN protocols. Again, whatever is between you and the ELM327 has a role to play here (unless you're in a serial comm program on a computer typing out AT commands by hand). Some vehicles have more modules to talk to than the powertrain controller...there can be a lot of stuff on the CAN bus. I don't know whether any of that can have locally stored trouble codes or not.