Typically, no. Flash is generally copied to RAM prior to execution. For something like a kernel, it needs to be placed somewhere that it won't overwrite itself as it extracts itself and begins to execute.
An excerpt as an illustration from the U-Boot environment of the device on my bench at the moment:
altkern=5f80000 # location in NAND of the alternate kernel
# These load a kernel from NAND to the "loadaddr" in RAM, starting at the kernel's starting address in NAND, for the size of the kernel
bootpart1=set bootargs $partbootargs && nand read $loadaddr $prikern $kernsize && bootm $loadaddr
bootpart2=set bootargs $partbootargs2 && nand read $loadaddr $altkern $kernsize && bootm $loadaddr
# These accept an image over TFTP, putting it at "loadaddr" in RAM, then write it to the "proper" place in NAND
flashimg=tftp $loadaddr $image && nand erase $prikern $imgsize && nand write $loadaddr $prikern $filesize
flashimg2=tftp $loadaddr $image && nand erase $altkern $imgsize && nand write $loadaddr $altkern $filesize
imgsize=5800000 # Expected size (max) of the image
kernsize=300000 # Expected size of a kernel
loadaddr=84000000 # A "safe" spot in RAM for dealing with images, either for writing, or for booting
prikern=780000 # Location of the primary kernel in NAND
Unlikely, as RAM is addressed differently than flash for most devices.