Olá, Leonardo, tudo bem?
A sua variável apagarNota provavelmente está definida como undefined! Provavelmente a propriedade apagarNota não foi a propriedade que você passou desde o componente ListaDeNotas até o componente CardNota.
Veja que em App.js, o intrutor passa o método deletarNota da seguinte forma para o componente ListaDeNotas:
<ListaDeNotas
notas={this.state.notas}
apagarNota={this.deletarNota.bind(this)}
/>
Ou seja, ele está acessando o método deletarNota e passando como uma propriedade chamada apagarNota, que poderá ser usada dentro do componente ListaDeNotas. Então se você quiser acessar essa função lá dentro de ListaDeNotas, você escreverá this.props.apagarNota.
Por outro lado, digamos que você tenha passado a função da seguinte forma:
<ListaDeNotas
notas={this.state.notas}
deletarNota={this.deletarNota.bind(this)} // O nome da propriedade agora é "deletarNota" em vez de "apagarNota"
/>
O nome da propriedade que recebe a função agora se chama deletarNota, e para acessá-la dentro de ListaDeNotas, você deve utilizar this.props.deletarNota.
Se você não acessar com o mesmo nome da propriedade, você acabará acessando algo que não existe e estará na verdade utilizando um valor undefined. Então, lá em CardNota, ao tentar executar a suposta função, o programa indicará que na verdade não é uma função, porque você estará lidando com um valor undefined.
Veja se você manteve o fluxo correto desde App.js até ListaDeNotas! Se o erro persistir, você pode mandar aqui os códigos dos seus componentes para que possamos te auxiliar.
Fico no aguardo!