Yes, of course! You can use the shipment API, to which you can connect using both SOAP and XML-RPC. The call that will be of most interest to you is shipment.create.
Here's the sample code from magento's site [php]:
$proxy = new SoapClient('http://magentohost/api/soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');
$notShipedOrderId = '100000003';
// Create new shipment
$newShipmentId = $proxy->call($sessionId, 'sales_order_shipment.create', array($notShipedOrderId, array(), 'Shipment Created', true, true));
And here are the comments:
sales_order_shipment.create
Create new shipment for order
Return: string - shipment increment id
Arguments:
string orderIncrementId - order increment id
array itemsQty - items qty to ship as associative array (order_item_id ⇒ qty)
string comment - shipment comment (optional)
boolean email - send e-mail flag (optional)
boolean includeComment - include comment in e-mail flag (optional)
I can also provide some source code in C# if you will find it helpful...