If you are using the ‘capability_type’ parameter make sure you have the type specified. If you are using a capabilities array parameter then make sure you add ‘delete_posts’ with the appropriate user permission. Although you can use both the ‘capability_type’ and ‘capabilities’ together, Codex specifies that if you are using the capabilities array parameter to set the capability_type to an empty string to avoid it making interferences with others capabilities.
Try something like this:
'capability_type' => 'post'
or
'capability_type' => ''
'capabilities' => array(
'edit_post' => 'edit_pages',
'read_post' => 'edit_pages',
'delete_post' => 'edit_pages',
'delete_posts' => 'edit_pages',
'edit_posts' => 'edit_pages',
'edit_others_posts' => 'edit_pages',
'publish_posts' => 'edit_pages',
'read_private_posts' => 'edit_pages'
),
Where ‘delete_posts’ can be done by a user who is allowed to ‘edit_pages’. You can change ‘edit_pages’ to a more appropriate permission. You can also read more about roles and capabilities at https://codex.www.ads-software.com/Roles_and_Capabilities.
Hope it helps.