If you want to change the texture, you'll have to change the texture for the entire SpriteBatchNode. All of the sprites using the SBN are referencing the same texture, so you can't just change one of them.
You can do this:
CCSpriteBatchNode *sbn = [CCSpriteBatchNode batchNodeWithFile:@"image1.png"];
sbn.texture = [[CCTextureCache sharedTextureCache] addImage:@"image2.png"];
Be careful when doing something like that though because a. I don't think it will play nicely with SpriteFrames or any active animations, and b. All of the sprites in the batch node will still be pointing to their previous texture rects. That is, a sprite with rect { 64,64,128,128 } from the first texture will show the same rect { 64,64,128,128 } in the new texture after you change.