The tool is in the image, but the container's PATH does not include it at runtime
Software installed during the build is only on the PATH afterwards if the image sets it in its environment section. Singularity/Apptainer also inherits parts of the host environment by default, so a host PATH can shadow the container's own.
Confirm the tool runs directly (apptainer exec image.sif bwa). If that works but the workflow fails, the difference is environment, not the image: set the PATH inside the image's environment block, and run with --cleanenv to stop host variables leaking in.