The NES itself has no concept of banks, it just sees a linear 32KB area for PRG and a linear 8KB area for CHR. It's the mapper that decides how to break up that space into banks.
Anyway, one way to patch an existing ROM is to use an hex editor to copy the newly assembled code and paste it at the correct position in the ROM file (be careful to overwrite the old contents, because inserting the data and expanding the ROM would result in an invalid file).
Copying and pasting is not such a good idea if you have to do it repeatedly though, which might be the case when you're writing/debugging the new code. One way to do it would be to write a tool that can patch files like this, if one doesn't already exist. Another option is to open the original ROM in an hex editor and create 2 new files from it: one with everything that comes before the new code, and another with everything that comes after. Then you can just combine the 3 files using the command prompt (newcode.bin must be an exact size in order to not affect the final size of the ROM, so you might need to pad it):
copy /b before.bin + newcode.bin + after.bin rom.nes
Or you could also .incbin the two file inside the source code for the new code, like this:
Code:
.incbin "before.bin"
.org $8367 ;this is where your code will be mapped in CPU space
;NEW CODE HERE
.org $850B ;this is as far as your code can go without expanding the ROM
.incbin "after.bin"
Just some ideas to complement what Dwedit said, but I like his method better because it's more versatile and doesn't need temporary files.