404のエラーハンドリングがされたときはnoMenu.vueレイアウトが適用されるのですが
this.$nuxt.errorでハンドリングした際にdefault.vueのレイアウトが適用されてしまいます。
error.vueは共通で使用しています。

レイアウト構成

layouts
 L defaut.vue
    error.vue
    noMenu.vue

defaut.vue

<template>
  <div>
    <header>通常ヘッダー</header>
    <div class="main">
      <nuxt />
    </div>
    <fotter>通常フッター</fotter>
  </div>
</template>

noMenu.vue

<template>
  <div>
    <header>エラー用ヘッダー</header>
    <div class="main">
      <nuxt />
    </div>
    <fotter>エラー用フッター</fotter>
  </div>
</template>

error.vue

<template>
<!-- 共通エラーページ -->
  <div id="error" class="wapper">
    <div class="error">
      <div v-if="error.statusCode === 404">
        <p class="error-txt">
          {{error.statusCode}} <br><br>
          ページが見つかりません。
        </p>
      </div>
      <div  v-else>
        <p class="error-message">
          エラーが発生しました。
        <p class="error-txt">
          繰り返し発生する場合には、ご連絡ください。<br>
          (エラーコード {{error.statusCode}})
        </p>
    </div>
  </div>
</template>

<script>
export default {
  layout: 'noMenu',
  props: ['error']
}
</script>