You need to replace the old tab bar item with a new one. You cannot update the image dynamically otherwise.
The easiest way to do this is to set the tabBarItem property of the view controller represented by this tab. If you want to do this from within this controller, simply write:
self.tabBarItem = [[UITabBarItem alloc] initWithTitle: @"title" image: myImage: tag: nil];
, , :
UIViewController* vc = [tabBarController.viewControllers objectAtIndex: 3];
vc.tabBarItem = [[UITabBarItem alloc] initWithTitle: @"title" image: myImage: tag: nil];