iPhoneアプリを製作中です。

遷移元を画面A、遷移先を画面Bとします。現在の目標は、この二つの画面を
お互いに Segue でループさせることです。画面Bは CollectionView です。

画面Aに配置したボタンをタップすると、ポップアップメニューが出てきます。
その中のメニューの一つに画面遷移用のボタンを実装しました。
実装方法は以下の通りです。Ryusuke Fuda's Tech Blog - iOS Segueを使わずにコードで画面遷移を参考にしました。

  1. 遷移先の storyboad の Identity で、Use Storyboad ID にチェックを入れる
  2. Storyboad ID に遷移先のクラス名を入力する
  3. 遷移元のヘッダファイルに、遷移先のヘッダファイルをインポートする
  4. 遷移元の、画面遷移用ボタンに以下のコードを書き込む
GamenBViewController *controller =
[self.storyboard     instantiateViewControllerWithIdentifier:@"GamenBViewController"];
[self presentModalViewController:controller animated:YES]; //モーダルで呼び出す

上記内容で画面 A から画面 B に遷移させました。

画面 B から画面 A には以下の内容で遷移させます。
※ showDetail は Segue の名前です

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
   if ([[segue identifier] isEqualToString:@"showDetail"]) {
     NSIndexPath *indexPath = [self.collectionView indexPathForCell:sender];
    UIImage *img = _objects[indexPath.row];
    [[segue destinationViewController] setDetailItem:img];   
   }
}

画面 A から画面 B に遷移させる内容を実装すると、なぜかそれまでは上手くいっていたはずの、
画面 B から画面 A への遷移がエラーになってしまいます。
エラーメッセージは以下の通りです。

Terminating app due to uncaught exception 'NSGenericException', reason: 'Could not find a navigation controller for segue 'showDetail'. Push segues can only be used when the source controller is managed by an instance of UINavigationController.'

どう対処すれば良いか、どなたかご教示いただけないでしょうか。
以上、何卒よろしくお願いいたします。