1. Проверьте .htaccess в корне. Должна присутствовать строка
ErrorDocument 404 /404.php
2. Перейдите напрямую на файл с 404 //site.ru/404.php Если страница, не белая, значит проблема в логике "какую страницу показывать", если белая, то в самой странице. Возможно, где-то забыли убрать die(); при отладке
Если после открытия содержимого страницы, все еще будет 200 статус, надо добавить вот это в начало 404.php
<?php
include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/urlrewrite.php');
CHTTP::SetStatus("404 Not Found");
@define("ERROR_404","Y");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
use Bitrix\Main\Localization\Loc;
$APPLICATION->SetTitle("Страница не найдена");