Rebuild Workbench cache?
If anyone will be looking for similar problem: 

I wrote myselft a function. It fetches all the items from menu (which we use as a hierarchy for Workbench Access) and compare them with current Workbench Access items, those that aren't there yet, get inserted. It refreshes caches and it is possible to use all the items as sections, because it's synchronized now.

For now it seems to work. I couldn't find better solution so far.

function update_possible_workbench_sections($menu_name="menu-global-packages") {

$wanted = array();
$records = db_query("SELECT mlid FROM {menu_links} WHERE menu_name=:menu_name", array( "menu_name"=&gt;$menu_name))-&gt;fetchAll();
foreach($records as $r) {
    array_push($wanted, $r-&gt;mlid);  
}


$access_scheme = db_query("SELECT * FROM {workbench_access}")-&gt;fetchAll();
$existing = array();
foreach($access_scheme as $r) {
    if( intval($wpis-&gt;access_id)&gt;0 &amp;&amp; $r-&gt;access_type_id==$menu_name ) {
        array_push($existing, $r-&gt;access_id);       
    }
}

$missing = array_diff($wanted, $existing);
$values_to_insert = array();

foreach($missing as $item) {
    array_push($values_to_insert, array( "access_id" =&gt; $item, "access_type" =&gt; "menu", "access_scheme" =&gt; "menu",
                "access_type_id" =&gt; $menu_name ));  
}

$query = db_insert("workbench_access")-&gt;fields( array('access_id', 'access_type', 'access_scheme', 'access_type_id'));

foreach($values_to_insert as $value) {
    $query-&gt;values($value); 
}

$query-&gt;execute();
workbench_access_reset_tree();
module_invoke_all('workbench_access_save'); 
return count($values_to_insert);    


}